﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using RESTService.Dominio;
using RESTService.Persistencia;


namespace RESTService
{
    
    public class Servicios : IServicios
    {

        private ServicioDAO servicioDAO = new ServicioDAO();


        public Servicio CrearServicio(Servicio servicio)
        {
            List<Servicio>  servicios = servicioDAO.ListarTodos();
          
            foreach (Servicio srv in servicios ){
                if (srv.Nombre == servicio.Nombre)
                {
                    throw new System.InvalidOperationException("El servicio " + servicio.Nombre + " ya existe en la base de datos.");
                }
               
            }           

            return servicioDAO.Crear(servicio);
        }

        public Servicio ObtenerServicio(string codigo)
        {
            return servicioDAO.Obtener(Convert.ToInt32(codigo));

        }

        public Servicio ModificarServicio(Servicio servicio)
        {
            return servicioDAO.Modificar(servicio);
        }

        public void EliminarServicios(string codigo)
        {
            Servicio servicio = servicioDAO.Obtener(Convert.ToInt32(codigo));
            servicioDAO.Eliminar(servicio);
        }

        public List<Servicio> ListarServicios()
        {
            return servicioDAO.ListarTodos();
        }
    }
}
